江离书生

vuePress-theme-reco 史博辉    2024
江离书生 江离书生

Choose mode

  • dark
  • auto
  • light
主页
分类
  • html
  • java
  • 日常生活
  • markdown
  • mysql
  • nvm
  • pnpm
  • 常见问题
  • vue3
标签
时间轴
author-avatar

史博辉

51

文章

9

标签

主页
分类
  • html
  • java
  • 日常生活
  • markdown
  • mysql
  • nvm
  • pnpm
  • 常见问题
  • vue3
标签
时间轴
  • HTML

    • HTML5 简介

      • HTML5 简介
      • HTML 历史与 HTML5
      • HTML 发展历史
      • HTML 4.01 和 XHTML
      • HTML 和 XHTML 的文档类型定义(DTD)
      • 从 XHTML 到 HTML5
      • HTML5 的优势
      • 解决跨浏览器问题
      • 部分代替了原来的 JavaScript
      • 更明确的语义支持
      • 增强了 Web 应用程序的功能
      • HTML5 的基本结构和语法变化
      • HTML5 的基本结构
      • 标签不再区分大小写
      • 元素可以省略结束标签
      • 支持 boolean 值的属性
      • 允许属性值不使用引号
      • 小结
    • HTML5 的常用元素与属性

    • HTML5 表单相关的元素和属性

    • HTML5 的绘图支持

    • HTML5 的多媒体支持

    • 级联样式单与 CSS 选择器

    • 字体与文本相关属性

    • 背景、边框和边距相关属性

    • 大小、定位、轮廓相关属性

    • 盒模型与布局相关属性

    • 表格、列表相关属性及 media query

    • 变形与动画相关属性

    • JavaScript 语法详解

    • DOM 编程详解

    • 事件处理机制

    • 本地存储与离线应用

    • 文件支持与二进制数据

    • Web Worker 多线程 API

    • 客户端通信

    • HTML5 疯狂俄罗斯方块

更明确的语义支持

vuePress-theme-reco 史博辉    2024

更明确的语义支持

史博辉 2022-10-16 19:05:00 html

在 HTML5 以前,如果要表达一个文档结构,可能只能通过<div...>元素来实现。例如定义如下页面结构:

<div id="header">...</div>
<div id="nav">...</div>
<div id="article">
	<div id="section">
		...
	</div>
</div>
<div id="aside">...</div>
<div id="footer">...</div>

在上面的页面结构中,所有的页面元素都采用<div...>元素来实现,不同<div...>元素的 id 不同,不同 id 的<div...>元素代表不同含义,但这种采用<div...>布局的方式导致缺乏明确的语义——因为所有内容都是<div...>元素。

HTML5 则为上面的页面布局提供了更明确的语义元素,此时可以将上面的页面片段改为如下形式:

<header>...</header>
<nav>...</nav>
<article>
    <section>
    	...
	</section>
</article>
<aside>...</aside>
<footer>...</footer>

上面的页面片段就可以提供更清晰的语义了,而不是通过语义不清的<div...>元素来完成布局。

除此之外,以前的 HTML 可能会通过<em...>元素来表示“被强调”的内容,但到底是哪一种强调,HTML 却无法表达;HTML5 则提供了更多支持语义的强调元素,例如:

<time>2022-10-16</time>
<mark>被标记的文本</mark>

上面的第一个<time...>元素用于强调被标记的内容是日期或时间,而<mark...>元素则用于强调被标记的文本。HTML5 新增的这两个元素比<em...>元素提供了更丰富的语义。